Syntax10.Scn.Fnt Syntax10i.Scn.Fnt Syntax10b.Scn.Fnt MODULE AmigaLogger; (* updated OJ 30 Apr 96 *) IMPORT SYSTEM, E:=AmigaExec, U:=AmigaUtility; loggerBase - : E.LibraryPtr; loggerVersion- : INTEGER; termEntry : E.TermEntry; dummy : LONGINT; CONST loggerName*="logger.library"; PROCEDURE -ReturnD0 04EH,05EH, 04EH,075H; PROCEDURE clear*; BEGIN SYSTEM.CALL( -30, loggerBase ) END clear; PROCEDURE firstPos*():LONGINT; BEGIN SYSTEM.CALL( -36, loggerBase ); ReturnD0 END firstPos; PROCEDURE nextPos*():LONGINT; BEGIN SYSTEM.CALL( -42, loggerBase ); ReturnD0 END nextPos; PROCEDURE read*(pos:LONGINT):CHAR; BEGIN SYSTEM.PUTREG( 2, pos ); SYSTEM.CALL( -48, loggerBase ); SYSTEM.GETREG( 0, dummy ); RETURN CHR(dummy) END read; PROCEDURE write*(ch:CHAR); BEGIN SYSTEM.PUTREG( 2, ORD(ch) ); SYSTEM.CALL( -54, loggerBase ) END write; PROCEDURE writeStamp*; BEGIN SYSTEM.CALL( -60, loggerBase ) END writeStamp; PROCEDURE Init; TYPE LibraryPtr=POINTER TO E.Library; VAR lib:LibraryPtr; BEGIN loggerBase:=E.OpenLibrary(loggerName,40); IF loggerBase=0 THEN HALT(99) END; lib:=SYSTEM.VAL(LibraryPtr,loggerBase); loggerVersion:=lib.version END Init; PROCEDURE Term; BEGIN E.CloseLibrary( loggerBase ) END Term; BEGIN Init; E.Register(termEntry, Term); END AmigaLogger.